﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

namespace DAL
{
    public abstract class DatabaseObject
    {
        public abstract IDbConnection CreateConnection();
        public abstract IDbConnection CreateConnection(string cnString);

        public abstract IDbCommand CreateCommand();
        public abstract IDbCommand CreateCommand(string cmdText);
        public abstract IDbCommand CreateCommand(string cmdText, IDbConnection cn);
        public abstract IDbCommand CreateCommand(string cmdText, IDbConnection cn, IDbTransaction trans);

        public abstract IDbDataAdapter CreateDataAdapter();
        public abstract IDbDataAdapter CreateDataAdapter(IDbCommand selectCmd);
        public abstract IDbDataAdapter CreateDataAdapter(string selectCmdText, string selectCnString);
        public abstract IDbDataAdapter CreateDataAdapter(string selectCmdText, IDbConnection selectCn);

        public abstract IDataReader CreateDataReader(IDbCommand dbCmd);
        public abstract IDataReader CreateDataReader(IDbCommand dbCmd, CommandBehavior dbCmdBehavior); 
    }
}
